#!/usr/bin/env python
# -*- coding: utf-8 -*-

"""
菜单配置文件
定义应用程序中所有菜单的结构和行为
"""

# 菜单配置
# 格式：{
#     "菜单名称": [
#         {
#             "名称": "动作名称", 
#             "方法": "main_window方法名",  # 可选，如果使用signal/slot则不需要
#             "快捷键": "快捷键(可选)", 
#             "checkable": True/False(可选),
#             "状态提示": "状态栏提示信息(可选)",
#             "signal": "信号名称(可选)", # 如 triggered, toggled
#             "slot": "槽函数名称(可选)"   # 如 main_window.open_file
#         },
#         {"separator": True},  # 分隔线
#         # 更多菜单项...
#     ],
# }


MENU_CONFIG = {
    "文件": [
        {
            "名称": "打开海图", 
            "signal": "triggered", 
            "slot": ("map","open_file"), 
            "快捷键": "Ctrl+O", 
            "状态提示": "打开海图文件"
        },
        {
            "separator": True
        },
        {
            "名称": "退出", 
            "signal": "triggered", 
            "slot": ("map","close"), 
            "快捷键": "Alt+F4", 
            "状态提示": "退出应用程序"
        },
    ],
    "绘制航线": [
        # {
        #     "名称": "开始绘制",
        #     "signal": "triggered",
        #     "slot": ("map","start_drawing"),
        #     "状态提示": "开始绘制航线"
        # },
        # {
        #     "名称": "结束绘制",
        #     "signal": "triggered",
        #     "slot": ("map","exit_drawing"),
        #     "状态提示": "完成航线绘制"
        # },
        # {
        #     "separator": True
        # },
        # {
        #     "名称": "保存航线",
        #     "signal": "triggered",
        #     "slot": ("map","save_route"),
        #     "状态提示": "保存当前航线"
        # },
        # {
        #     "名称": "清除航线",
        #     "signal": "triggered",
        #     "slot": ("map","clear_route"),
        #     "状态提示": "清除所有航线"
        # },
        {
            "名称": "导入Excel航线",
            "signal": "triggered",
            "slot": ("map","add_ship_route"),
            "状态提示": "绘制航线"
        },
        {
            "名称": "清除航线",
            "signal": "triggered",
            "slot": ("map","clear_ship_route"),
            "状态提示": "清除航线"
        },
    ],
    "视图": [
        {
            "名称": "图层树", 
            "signal": "toggled", 
            "slot": ("map","toggle_layer"), 
            "from_signal": ("map","tree_toggled"),
            "checkable": True, 
            "状态提示": "图层树"
        },
        {
            "名称": "仪表视图", 
            "signal": "triggered", 
            "slot": ("cluster","toggle_cluster"),
            "from_signal": ("cluster", "toggled"),
            "checkable": True,
            "状态提示": "仪表视图"
        },
        {
            "名称": "控制面板", 
            "signal": "triggered", 
            "slot": ("control","toggle_control"),
            "from_signal": ("control", "toggled"),
            "checkable": True,
            "状态提示": "控制面板"
        },
    ],
    "帮助": [
        {
            "名称": "关于", 
            "signal": "triggered", 
            "slot": ("map","show_about"),
            "状态提示": "显示关于信息"
        },
    ],
    "信息查询": [
        {
            "名称": "显示航迹",
            "signal": "triggered",
            "slot": ("map","show_ship_track"),
            "状态提示": "显示航迹信息"
        },
    ]
}


TOOLBAR_CONFIG = {
    "工具栏": [
        {
            "名称": "打开海图", 
            "图标": "打开海图.png",
            "signal": "triggered", 
            "slot": ("map","open_file"), 
            "快捷键": "Ctrl+O", 
            "状态提示": "打开海图文件"
        },
        {
            "separator": True
        },
        # {
        #     "名称": "开始绘制",
        #     "图标": "开始绘制.png",
        #     "signal": "triggered",
        #     "slot": ("map", "start_drawing"),
        #     "状态提示": "开始绘制航线"
        # },
        # {
        #     "名称": "结束绘制",
        #     "图标": "结束绘制.png",
        #     "signal": "triggered",
        #     "slot": ("map", "exit_drawing"),
        #     "状态提示": "完成航线绘制"
        # },
        # {
        #     "名称": "保存航线",
        #     "图标": "保存.png",
        #     "signal": "triggered",
        #     "slot": ("map", "save_route"),
        #     "状态提示": "保存当前航线"
        # },
        # {
        #     "名称": "清除航线",
        #     "图标": "清除.png",
        #     "signal": "triggered",
        #     "slot": ("map","clear_route"),
        #     "快捷键": "Alt+F4",
        #     "状态提示": "清除当前航线"
        # },
        {
            "名称": "导入Excel航线",
            "图标": "开始绘制.png",
            "signal": "triggered",
            "slot": ("map", "add_ship_route"),
            "状态提示": "绘制航线"
        },
        {
            "名称": "清除航线",
            "图标": "清除.png",
            "signal": "triggered",
            "slot": ("map","clear_ship_route"),
            "状态提示": "清除当前航线"
        },
        {
            "名称": "显示航迹",
            "图标": "航迹.png",
            "signal": "triggered",
            "slot": ("map","show_ship_track"),
            "状态提示": "显示航迹信息"
        },
    ]
}
            